;--------------------------------------
;
; proto6l.inc
;
; procedure prototypes for large model
; MASM 6.0 library
;

;--------------------------------------
;
; large modem typedefs
;

PBYTE TYPEDEF FAR PTR BYTE
PWORD TYPEDEF FAR PTR WORD

; chapter 1

mvCur       PROTO FAR PASCAL, row:BYTE, col:BYTE
clrScrn     PROTO FAR PASCAL, s_attr:BYTE
bdWrite     PROTO FAR PASCAL, row:BYTE, col:BYTE, string:PBYTE

; chapter 2

gtCur       PROTO FAR PASCAL
setCur      PROTO FAR PASCAL, c_start:BYTE, c_end:BYTE
onCur       PROTO FAR PASCAL
offCur      PROTO FAR PASCAL
restCur     PROTO FAR PASCAL

; chapter 3

mkAttr      PROTO FAR PASCAL, a:PBYTE, f_c:WORD, b_c:WORD, i_t:WORD, b_t:WORD
mkToken     PROTO FAR PASCAL, kchar:byte, attr:byte
vidInit     PROTO FAR PASCAL
vdWrite     PROTO FAR PASCAL, row:BYTE, col:BYTE, lgth:WORD, str1:PBYTE, attr:BYTE
vdChar      PROTO FAR PASCAL, row:BYTE, col:BYTE, pchar:BYTE, pattr:BYTE
vdAttr      PROTO FAR PASCAL, row:BYTE, col:BYTE, len:WORD, pattr:BYTE
vdHRep      PROTO FAR PASCAL, row:BYTE, col:BYTE, lgth:BYTE, cval:BYTE, attr:BYTE
vdVRep      PROTO FAR PASCAL, row:BYTE, col:BYTE, lgth:BYTE, cval:BYTE, attr:BYTE
saveScrn    PROTO FAR PASCAL, buffer:PWORD
restScrn    PROTO FAR PASCAL, buffer:PWORD
vrdChar     PROTO FAR PASCAL, prow:BYTE, pcol:BYTE

; chapter 4

memset      PROTO FAR PASCAL, srce:PBYTE, value:BYTE, number:WORD
strlen      PROTO FAR PASCAL, srce:PBYTE
strcpy      PROTO FAR PASCAL, dest:PBYTE, srce:PBYTE
strlwr      PROTO FAR PASCAL, srce:PBYTE
strupr      PROTO FAR PASCAL, srce:PBYTE
strcmp      PROTO FAR PASCAL, dest:PBYTE, srce:PBYTE
strncmp     PROTO FAR PASCAL, dest:PBYTE, srce:PBYTE, number:WORD
strswap     PROTO FAR PASCAL, dest:PBYTE, srce:PBYTE
memncpy     PROTO FAR PASCAL, dest:PBYTE, srce:PBYTE, n:WORD, d_i:WORD
strins      PROTO FAR PASCAL, dest:PBYTE, srce:PBYTE, d_i:WORD
strsrch     PROTO FAR PASCAL, dest:PBYTE, srce:PBYTE
strcat      PROTO FAR PASCAL, dest:PBYTE, srce:PBYTE
itoa        PROTO FAR PASCAL, buffer:PBYTE, num:WORD
ltoa        PROTO FAR PASCAL, buffer:PBYTE, num:PWORD
itoh        PROTO FAR PASCAL, buffer:PBYTE, num:WORD, num_bits:BYTE

; chapter 5

error_abort PROTO FAR PASCAL, num:Word
malloc      PROTO FAR PASCAL byte_num:WORD
free        PROTO FAR PASCAL mem_seg:WORD
vdBox       PROTO FAR PASCAL, ur:BYTE, uc:BYTE, lr:BYTE, lc:BYTE, a:BYTE, s:BYTE
initWind    PROTO FAR PASCAL, wptr:Ptr WINDOW,  attr:BYTE
destroyWind PROTO FAR PASCAL, wptr:Ptr WINDOW
displayWind PROTO FAR PASCAL, wptr:Ptr Window
removeWind  PROTO FAR PASCAL, wptr:Ptr Window
wvdWrite    PROTO FAR PASCAL, wptr:Ptr WINDOW, row:BYTE, col:BYTE, lgth:WORD, str1:PBYTE, attr1:BYTE
wvdAttr     PROTO FAR PASCAL, wptr:Ptr WINDOW, row:BYTE, col:BYTE, len:WORD, pattr:BYTE
wvdChar     PROTO FAR PASCAL, wptr:Ptr WINDOW, row:BYTE, col:BYTE, pchar:BYTE, pattr:BYTE


; chapter 6 - mouse & keyboard

msInit      PROTO FAR PASCAL
msOn        PROTO FAR PASCAL
msOff       PROTO FAR PASCAL
msStat      PROTO FAR PASCAL,  x_loc:PWORD,  y_loc:PWORD
kbStat      PROTO FAR PASCAL 
kbRead      PROTO FAR PASCAL 


; chapter 7

displayDDW  PROTO FAR PASCAL, ddptr:Ptr DROP_DOWN, miptr:Ptr M_ITEM
initDDW     PROTO FAR PASCAL, ddptr:Ptr DROP_DOWN, miptr:Ptr M_ITEM, attr:Byte, i_attr:Byte, k_attr:Byte
removeDDW   PROTO FAR PASCAL, ddptr:Ptr DROP_DOWN
destroyDDW  PROTO FAR PASCAL, ddptr:Ptr DROP_DOWN
displayMB   PROTO FAR PASCAL, mbptr:Ptr MENU_BAR, miptr:Ptr M_ITEM

; chapter 7

createFile  PROTO FAR PASCAL, handle:PWORD, filename:PBYTE, attr:WORD
openFile    PROTO FAR PASCAL, handle:PWORD, filename:PBYTE, access:BYTE
closeFile   PROTO FAR PASCAL, handle:WORD
readFile    PROTO FAR PASCAL, filename:PBYTE, handle:WORD, bytes_read:WORD
writeFile   PROTO FAR PASCAL, buffer:PBYTE, handle:WORD, bytes_read:WORD
deleteFile  PROTO FAR PASCAL, filename:PBYTE
moveFilePtr PROTO FAR PASCAL, hdl:WORD, m:BYTE, offs:PWORD, noff:PWORD

; chapter 7


; chapter 10

add32       PROTO FAR PASCAL, dest:PWORD, srce:PWORD



